package com.so206.po;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class SystemOrder implements Serializable {
    /**
    * id
    */
    private Long id;

    /**
    * 支付方式:1.微信 2.支付宝 3.QQ
    */
    private Integer payType;

    /**
    * 第三方接口传递order_id
    */
    private String outOrderId;

    /**
    * 金额
    */
    private BigDecimal price;

    /**
    * 支付状态:1.未支付 2.已支付,3.已退款
    */
    private Integer status;

    /**
    * 订单创建时间
    */
    private Date createTime;

    /**
    * 订单支付时间
    */
    private Date paidTime;

    /**
    * 支付金额
    */
    private BigDecimal paid;

    /**
    * 商品标题
    */
    private String title;

    /**
    * 商品介绍
    */
    private String context;

    /**
    * 支付系统订单号
    */
    private String tradeNo;

    /**
    * 商户返回状态
    */
    private String tradeStatus;

    private Long uid;

    /**
    * 通知url
    */
    private String notifyUrl;

    /**
    * 跳转url
    */
    private String returnUrl;

    /**
    * 是否已结算到用户余额:1.未结算,2.已结算
    */
    private Integer isSett;

    /**
    * 结算类型:1.微信 2.支付宝 3.QQ
    */
    private Integer prePayType;

    /**
    * 结算账户
    */
    private String preAccount;

    /**
    * 真实姓名
    */
    private String preZsName;

    /**
    * 邮件
    */
    private String email;

    /**
    * 订单类型:1.快捷收款 2.注册订单 3.api订单,4.充值订单,5.商城订单
    */
    private Integer orderType;

    /**
    * 订单ip地址
    */
    private String ipAddr;

    /**
    * 交易扣除手续费
    */
    private BigDecimal changeSett;

    private Integer isNotify;

    /**
    * 充值类型:0,余额充值,1.会员充值
    */
    private Integer chType;

    /**
    * 充值数量,默认1
    */
    private Integer chNum;

    /**
    * 网站
    */
    private String siteName;

    /**
    * 推广key
    */
    private String extenKey;

    /**
    * 商品id
    */
    private Long productId;

    /**
    * 减免金额
    */
    private BigDecimal saleMonney;

    /**
    * 支付通道id
    */
    private Long payConnet;

    /**
    * 支付通道类型:0.易支付通道,1.码支付通道,2.微信通道,3.QQ,4.支付宝,5.钱方微信通道
    */
    private Integer payConnetType;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public String getOutOrderId() {
        return outOrderId;
    }

    public void setOutOrderId(String outOrderId) {
        this.outOrderId = outOrderId;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getPaidTime() {
        return paidTime;
    }

    public void setPaidTime(Date paidTime) {
        this.paidTime = paidTime;
    }

    public BigDecimal getPaid() {
        return paid;
    }

    public void setPaid(BigDecimal paid) {
        this.paid = paid;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContext() {
        return context;
    }

    public void setContext(String context) {
        this.context = context;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    public String getTradeStatus() {
        return tradeStatus;
    }

    public void setTradeStatus(String tradeStatus) {
        this.tradeStatus = tradeStatus;
    }

    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    public String getReturnUrl() {
        return returnUrl;
    }

    public void setReturnUrl(String returnUrl) {
        this.returnUrl = returnUrl;
    }

    public Integer getIsSett() {
        return isSett;
    }

    public void setIsSett(Integer isSett) {
        this.isSett = isSett;
    }

    public Integer getPrePayType() {
        return prePayType;
    }

    public void setPrePayType(Integer prePayType) {
        this.prePayType = prePayType;
    }

    public String getPreAccount() {
        return preAccount;
    }

    public void setPreAccount(String preAccount) {
        this.preAccount = preAccount;
    }

    public String getPreZsName() {
        return preZsName;
    }

    public void setPreZsName(String preZsName) {
        this.preZsName = preZsName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public String getIpAddr() {
        return ipAddr;
    }

    public void setIpAddr(String ipAddr) {
        this.ipAddr = ipAddr;
    }

    public BigDecimal getChangeSett() {
        return changeSett;
    }

    public void setChangeSett(BigDecimal changeSett) {
        this.changeSett = changeSett;
    }

    public Integer getIsNotify() {
        return isNotify;
    }

    public void setIsNotify(Integer isNotify) {
        this.isNotify = isNotify;
    }

    public Integer getChType() {
        return chType;
    }

    public void setChType(Integer chType) {
        this.chType = chType;
    }

    public Integer getChNum() {
        return chNum;
    }

    public void setChNum(Integer chNum) {
        this.chNum = chNum;
    }

    public String getSiteName() {
        return siteName;
    }

    public void setSiteName(String siteName) {
        this.siteName = siteName;
    }

    public String getExtenKey() {
        return extenKey;
    }

    public void setExtenKey(String extenKey) {
        this.extenKey = extenKey;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public BigDecimal getSaleMonney() {
        return saleMonney;
    }

    public void setSaleMonney(BigDecimal saleMonney) {
        this.saleMonney = saleMonney;
    }

    public Long getPayConnet() {
        return payConnet;
    }

    public void setPayConnet(Long payConnet) {
        this.payConnet = payConnet;
    }

    public Integer getPayConnetType() {
        return payConnetType;
    }

    public void setPayConnetType(Integer payConnetType) {
        this.payConnetType = payConnetType;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", payType=").append(payType);
        sb.append(", outOrderId=").append(outOrderId);
        sb.append(", price=").append(price);
        sb.append(", status=").append(status);
        sb.append(", createTime=").append(createTime);
        sb.append(", paidTime=").append(paidTime);
        sb.append(", paid=").append(paid);
        sb.append(", title=").append(title);
        sb.append(", context=").append(context);
        sb.append(", tradeNo=").append(tradeNo);
        sb.append(", tradeStatus=").append(tradeStatus);
        sb.append(", uid=").append(uid);
        sb.append(", notifyUrl=").append(notifyUrl);
        sb.append(", returnUrl=").append(returnUrl);
        sb.append(", isSett=").append(isSett);
        sb.append(", prePayType=").append(prePayType);
        sb.append(", preAccount=").append(preAccount);
        sb.append(", preZsName=").append(preZsName);
        sb.append(", email=").append(email);
        sb.append(", orderType=").append(orderType);
        sb.append(", ipAddr=").append(ipAddr);
        sb.append(", changeSett=").append(changeSett);
        sb.append(", isNotify=").append(isNotify);
        sb.append(", chType=").append(chType);
        sb.append(", chNum=").append(chNum);
        sb.append(", siteName=").append(siteName);
        sb.append(", extenKey=").append(extenKey);
        sb.append(", productId=").append(productId);
        sb.append(", saleMonney=").append(saleMonney);
        sb.append(", payConnet=").append(payConnet);
        sb.append(", payConnetType=").append(payConnetType);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        SystemOrder other = (SystemOrder) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getPayType() == null ? other.getPayType() == null : this.getPayType().equals(other.getPayType()))
            && (this.getOutOrderId() == null ? other.getOutOrderId() == null : this.getOutOrderId().equals(other.getOutOrderId()))
            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getPaidTime() == null ? other.getPaidTime() == null : this.getPaidTime().equals(other.getPaidTime()))
            && (this.getPaid() == null ? other.getPaid() == null : this.getPaid().equals(other.getPaid()))
            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
            && (this.getContext() == null ? other.getContext() == null : this.getContext().equals(other.getContext()))
            && (this.getTradeNo() == null ? other.getTradeNo() == null : this.getTradeNo().equals(other.getTradeNo()))
            && (this.getTradeStatus() == null ? other.getTradeStatus() == null : this.getTradeStatus().equals(other.getTradeStatus()))
            && (this.getUid() == null ? other.getUid() == null : this.getUid().equals(other.getUid()))
            && (this.getNotifyUrl() == null ? other.getNotifyUrl() == null : this.getNotifyUrl().equals(other.getNotifyUrl()))
            && (this.getReturnUrl() == null ? other.getReturnUrl() == null : this.getReturnUrl().equals(other.getReturnUrl()))
            && (this.getIsSett() == null ? other.getIsSett() == null : this.getIsSett().equals(other.getIsSett()))
            && (this.getPrePayType() == null ? other.getPrePayType() == null : this.getPrePayType().equals(other.getPrePayType()))
            && (this.getPreAccount() == null ? other.getPreAccount() == null : this.getPreAccount().equals(other.getPreAccount()))
            && (this.getPreZsName() == null ? other.getPreZsName() == null : this.getPreZsName().equals(other.getPreZsName()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getOrderType() == null ? other.getOrderType() == null : this.getOrderType().equals(other.getOrderType()))
            && (this.getIpAddr() == null ? other.getIpAddr() == null : this.getIpAddr().equals(other.getIpAddr()))
            && (this.getChangeSett() == null ? other.getChangeSett() == null : this.getChangeSett().equals(other.getChangeSett()))
            && (this.getIsNotify() == null ? other.getIsNotify() == null : this.getIsNotify().equals(other.getIsNotify()))
            && (this.getChType() == null ? other.getChType() == null : this.getChType().equals(other.getChType()))
            && (this.getChNum() == null ? other.getChNum() == null : this.getChNum().equals(other.getChNum()))
            && (this.getSiteName() == null ? other.getSiteName() == null : this.getSiteName().equals(other.getSiteName()))
            && (this.getExtenKey() == null ? other.getExtenKey() == null : this.getExtenKey().equals(other.getExtenKey()))
            && (this.getProductId() == null ? other.getProductId() == null : this.getProductId().equals(other.getProductId()))
            && (this.getSaleMonney() == null ? other.getSaleMonney() == null : this.getSaleMonney().equals(other.getSaleMonney()))
            && (this.getPayConnet() == null ? other.getPayConnet() == null : this.getPayConnet().equals(other.getPayConnet()))
            && (this.getPayConnetType() == null ? other.getPayConnetType() == null : this.getPayConnetType().equals(other.getPayConnetType()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getPayType() == null) ? 0 : getPayType().hashCode());
        result = prime * result + ((getOutOrderId() == null) ? 0 : getOutOrderId().hashCode());
        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getPaidTime() == null) ? 0 : getPaidTime().hashCode());
        result = prime * result + ((getPaid() == null) ? 0 : getPaid().hashCode());
        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
        result = prime * result + ((getContext() == null) ? 0 : getContext().hashCode());
        result = prime * result + ((getTradeNo() == null) ? 0 : getTradeNo().hashCode());
        result = prime * result + ((getTradeStatus() == null) ? 0 : getTradeStatus().hashCode());
        result = prime * result + ((getUid() == null) ? 0 : getUid().hashCode());
        result = prime * result + ((getNotifyUrl() == null) ? 0 : getNotifyUrl().hashCode());
        result = prime * result + ((getReturnUrl() == null) ? 0 : getReturnUrl().hashCode());
        result = prime * result + ((getIsSett() == null) ? 0 : getIsSett().hashCode());
        result = prime * result + ((getPrePayType() == null) ? 0 : getPrePayType().hashCode());
        result = prime * result + ((getPreAccount() == null) ? 0 : getPreAccount().hashCode());
        result = prime * result + ((getPreZsName() == null) ? 0 : getPreZsName().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getOrderType() == null) ? 0 : getOrderType().hashCode());
        result = prime * result + ((getIpAddr() == null) ? 0 : getIpAddr().hashCode());
        result = prime * result + ((getChangeSett() == null) ? 0 : getChangeSett().hashCode());
        result = prime * result + ((getIsNotify() == null) ? 0 : getIsNotify().hashCode());
        result = prime * result + ((getChType() == null) ? 0 : getChType().hashCode());
        result = prime * result + ((getChNum() == null) ? 0 : getChNum().hashCode());
        result = prime * result + ((getSiteName() == null) ? 0 : getSiteName().hashCode());
        result = prime * result + ((getExtenKey() == null) ? 0 : getExtenKey().hashCode());
        result = prime * result + ((getProductId() == null) ? 0 : getProductId().hashCode());
        result = prime * result + ((getSaleMonney() == null) ? 0 : getSaleMonney().hashCode());
        result = prime * result + ((getPayConnet() == null) ? 0 : getPayConnet().hashCode());
        result = prime * result + ((getPayConnetType() == null) ? 0 : getPayConnetType().hashCode());
        return result;
    }
}